Method of playing content having a termination time

ABSTRACT

An apparatus, method, and system for a Media Expiration System (MES) that improves upon current content control systems by better managing media recordings. The MES enables media owners to disable recordings of their broadcast content and/or advertising, locally, after the content has been recorded by a consumer. In one embodiment, the MES places expiration stamps into broadcast media as it is recorded by a consumer electronics device. The MES tracks viewing habits, enables the purchasing of extended views of programs, and removes expired media programming content. The manner and way in which this is achieved results in the expiration of stale media content.

This application is a Division of U.S. Ser. No. 10/864,823 filed Jun. 8,2004, now U.S. Pat. No. 7,966,218, the content of which is incorporatedherein by reference.

FIELD

The present invention is directed generally to an apparatus, method, andsystem of content management, and more specifically to an apparatus,method and system for the expiration of recordings of media content.

BACKGROUND

Media Content Recordings

Typically, media content is disseminated through broadcasts such asradio and television. Broadcast media, including television and radio,provide the bulk of today's news, weather, sports, and entertainmentprogramming. The term “broadcast” refers to a distribution methodwhereby the programming is transmitted from a single central location tolarge number of recipients over a common medium. Examples includetraditional “over-the-air” commercial radio and television broadcasts,satellite television and radio systems (e.g., such as DIRECTTV,ECHOSTAR, XM and other similar systems), as well as cable televisionsystems. Broadcast programs may include movies, music, series, news andweather reports, commercial messages, and other items of interest.Broadcast systems have typically lacked a means for communicatinginformation from the recipient to the broadcaster (a so-called“back-channel”).

Generally, the public views media content as it is being broadcast.However, increasingly, many users are time-shifting and recording mediacontent on a multitude of recording devices such as (Digital) VideoCassette Recorders (VCRs), Digital Video Recorders, Recordable DVDs,personal computers, and/or the like. Also, users are archiving andstoring content digitally. For example, users are encoding their CDcollections into digital file formats such as MP3 onto their computersand portable audio devices.

Traditional broadcast programming generally contains no provision forlimiting the playback or copying of recorded material. One exception isthe Macrovision copy-protection system. The Macrovision system preventscopying to traditional VCRs. This is accomplished by modifying theanalog video signal in such a way that most VCRs cannot make a usablecopy while most television receivers are able to present the videoprogram with minimal distortion.

SUMMARY

No effective and widely deployed solution exists to disable and/ordestroy recordings of media content so as to contain and/or stem thespread of unauthorized digital reproduction of the recordings.Currently, recordings of broadcast recordings made for the purposes oftime shifting and/or otherwise may linger on user devices indefinitely,far beyond any fair use allotment for time shifting, which effectivelyallows viewers to transform a time shifted broadcast into a permanentand unauthorized copy of the broadcast media content. Furthermore,commercial advertisements in the broadcast recording can become staleand outdated, reducing the value of such advertisements. The presentinvention overcomes these problems by introducing a Media ExpirationSystem (MES) that allows the content owner to still allow viewers totime shift broadcasts, but allows the content owner to force theexpiration of such recorded media content after a specified amount oftime. The MES enables media owners to disable recordings of theirbroadcast content after the content has been recorded by a consumer. Inone embodiment, the MES places expiration stamps into broadcast media asit is recorded by a consumer electronics device. In another embodiment,the MES places expiration stamps into advertisements incorporated intobroadcast recordings and replaces them as they become stale. The MEStracks viewing habits, enables the purchasing of extended views ofprograms, removes expired media programming content, and more. Themanner and way in which this is achieved, results in an apparatus,system, and method that was heretofore unavailable.

In accordance with certain aspects of the present invention, theabove-identified problems are overcome and a technical advance isachieved in the art of media content management. An exemplary apparatusto terminate media content recordings on a computer follows. Theapparatus has a memory for storing instructions and a processor that canissue the instructions stored in memory. The stored instructions issuesignals to: identify a media content recording and determine atermination time for the media content recording. The apparatus canestablish a termination time for the media content recording, if notermination time exists for the media content recording. The apparatusmay terminate the media content recording, if a current time has reachedthe media content recording's termination time or if a number ofimpressions that may be experienced by a user has been exceeded.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate various non-limiting, example,inventive aspects in accordance with the present disclosure:

FIG. 1 is of a data-flow diagram illustrating embodiments of the presentinvention to check recordings for expiration;

FIG. 2 is of a data-flow diagram illustrating embodiments of the presentinvention to vary expirations for recordings;

FIG. 3 is of a data-flow diagram illustrating embodiments of the presentinvention to expire recordings;

FIGS. 4A-C depict block diagram embodiment of advertising segmentswithin a program vessel; and

FIG. 5 is of a block diagram illustrating embodiments of the presentinvention of a Media Expiration System controller;

The leading number of each reference number within the drawingsindicates the first figure in which that reference number is introduced.As such, reference number 101 is first introduced in FIG. 1. Referencenumber 201 is first introduced in FIG. 2, etc.

DETAILED DESCRIPTION

The disclosed Media Expiration System (MES) improves upon currentcontent control systems by better managing media recordings. The MESenables media owners to disable recordings of their program contentafter the content has been recorded by a consumer. In one embodiment,the MES places expiration stamps into broadcast media as it is recordedby a consumer electronics device. The MES tracks viewing habits, enablesthe purchasing of extended views of programs, removes expired mediaprogramming content, and more.

Traditional broadcast programs comprise two groups of elements: thefirst group is the media content itself (including one or more of audio,video, closed captions, commercial messages or advertisements, etc.),and the second group is the metadata. The media content is what the userwatches and/or listens to. The metadata includes information associatedwith or about the media content (program title, description, contentratings and warning labels, etc.). The user does not typicallyexperience the metadata directly (although some of the metadata may bepresented, for example, as part of a program guide). There are a numberof ways that metadata may be used to protect the program fromunauthorized copying or playback, which are described in greater detailthroughout this disclosure.

In one embodiment, metadata is attached to a broadcast program toindicate an expiration date and time, i.e., an expiration stamp. Theplayback equipment for the broadcast programming includes aclock/calendar as well as a function to read the expiration date andtime on broadcast programs. The playback equipment would allow playbackonly if the current date/time is before the expiration date/time.

In one embodiment, the expiration date/time metadata is attached to thebroadcast program in such a way that it cannot be easily removed,modified, or replaced. One method for attaching date/time metadata is touse a digital watermark. Digital watermarking technologies allowproviders to embed within the media content (audio, video, etc.) adigital code that is imperceptible during normal presentation butreadable by the playback equipment. This is done by making subtlechanges to samples of the original digital content.

In another embodiment, the playback equipment includes a Personal VideoRecorder. In this embodiment, broadcast programs are recorded, indigital form, on a hard disk drive, optical drive, or other digitalstorage medium. The digital media is scanned periodically and programsare purged as the expiration date/time is passed so that these programswould not be viewable after their expiration.

Check Recordings

FIG. 1 is of a data-flow diagram illustrating embodiments to checkrecordings for expiration. In one embodiment, the MES determines if newmedia recordings have come into existence on the system 105. The MES maybe integrated into any number of platforms capable of recording media.As a module (which will be described in greater detail throughout thedisclosure), the MES may be implemented in memory form for execution onvarious devices such as computer systems, embedded systems, mediadevices (e.g., Personal/Digital Video Player/Recorders (PVPs, DVPs,PVRs, DVRs—collectively hereinafter DVR), DVD recorders, MP3 players,portable video players, etc.), and/or the like. In one embodiment, theMES is integrated into a DVR and/or SmartAd Client (SAC). Such a SAC isdisclosed in U.S. patent application Ser. No. 10/835,834, titled“Apparatus, Method And System For Intelligent Advertisements.” Checkingfor new recordings 105 may occur at specified intervals. For example, adetermination may be initiated through a facility such as a Unix cronjob. Also, determination may be initiated 105 each time a new item ofmedia content is recorded. Determination of new media recordings may beidentified by examining a file allocation table for additions made tosuch a registry since the last check. Each time a check is made 105, anentry may be stored in a MES database (e.g., in a views table), staticfile, registry, and/or the like. If no new recordings are identifiedsince the last check, then the MES will check again upon the fixation ofa new recording and/or at a specified interval 145.

If one or more new recordings are found 105, the MES examines the nextrecording from the collection of newly found recordings 110. If there isno next recording 113, i.e., the collection of new recordings has beenexhausted, then an interval check will commence 145. Otherwise 113, theMES determines if the recording includes an expiration stamp 115. Theexpiration stamp is akin to a freshness date for produce. The expirationstamp may be included with and/or within the recording in numerousformats. In one embodiment, the recording includes metadata tags. Forexample, MP3 ID tags may be employed to specify an expiration date. Inanother embodiment, resource file forks may contain expiration metadata.In yet another embodiment, the recording itself may contain theinformation. For example, a digital watermark may be used to embed theexpiration stamp metadata imperceptibly within the recording itself.Other embodiments may include employing a vertical blanking intervaland/or closed captioned information associated with a broadcast tocontain the expiration stamp. As such, various metadata vessels arecontemplated and may hold such expiration stamp information.

If the recording 110 includes an expiration stamp 115, the MESdetermines if the recording has expired 120. Determination may beachieved by examining the expiration stamp and comparing the date andtime stamp within to the current time. Should the current time precedethe time frame in the expiration stamp 120, then the MES will examinethe next recording if any 110. If the current time has exceeded the timeframe in the expiration stamp 120, then the MES will disable or destroythe recording 125. The expirations table and/or media program metadatatables of the MES database may provide rules and/or instructions for howmedia recordings are to expire. When disabled, a flag is set denotingthat the recording may not be played and/or otherwise experienced by theuser without further authorization. The flag may be embedded within therecording itself and/or within an associated record in the MES database.Similarly, the MES database may instruct the MES to destroy the mediarecording. Upon disabling the recording 125, the MES continues examiningremaining new recordings 110.

If the recording does not contain an expiration stamp 115, the MES willdetermine the recording's date of recording. The MES makes thisdetermination by examining the date of recording file creation from thefile system. In another embodiment, the MES investigates the date ofcreation within the metadata associated with the recording. In oneembodiment, the MES may consult a digital rights management (DRM)policy, i.e., a content control list or a media recordings list. Such alist and various security layer facilities outlined in U.S. patentapplication Ser. No. 10/737,870, titled “Apparatus, Method And System ToImplement An Integrated Data Security Layer.” If the instant recordingmatches an entry on the media list 135, then the MES obtains associatedpolicy rules, which specify the appropriate expiration time, et al. forthe associated recording 150.

In one embodiment of content owner policy rules 150, programs on thelist and/or all programs may expire after a pre-determined time intervalassociated with that class of program. For example, a user's storagedevice such as a DVR may be instructed by its owner who is not its user(e.g., in the case where it is owned by the cable company), to deleteall news programs 24 hours after broadcast, all regular “episodic” showsafter one week, and the like. In the case where the DVR is owned by theuser, it may still be pre-programmed before or after delivery by, e.g.,a program guide service like TiVo to delete classes of programs on acertain schedule as described in the preceding sentence. In thisscenario, the metadata associated with the program identifies its classin a recording and metadata table, but that metadata may reach theplayback device by a different “logical channel,” for example, the classcan be stated in a printed or electronic program guide. In oneembodiment, where either “per program expiration date/time” or“pre-defined expiration date/time by class” content expiration takesplace, the different logical channel by which the expiration date/timereaches the storage/playback device is implemented byclosed-caption-like digital data carried within the Vertical BlankingInterval (VBI) of analog TV signals, data sent via “non-viewable” cableTV channels, and/or the like.

If the instant recording does not match an entry on the list 135, thenthe MES may obtain a user preference to dispose of recordings 140. Inone embodiment, if no preference is specified, the oldest recordings areprovided with the earliest expiration times. Regardless of where theexpiration time originates 140, 150, once an expiration time isobtained, an expiration time is stamped and/or otherwise associated withthe recording 155. Once an expiration stamp is associated with therecording 155, an entry for the recording's disposal is placed into aqueue to process and dispose of such stale recordings 160. This queuemay be checked from time to time and/or on demand 105. If the expirationstamp has exceeded the current time, then it has expired 120. Otherwise120, the next entry in the recording queue is examined 110.

Vary Expiration

FIG. 2 is of a data-flow diagram illustrating embodiments to varyexpirations for recordings. In one embodiment, the MES allows for theselection of a recording. A recording may be selected by a user in thecourse of experiencing the recording. For example, a user may wish toplay a program stored on a DVR. In another context, a user may wish toplay a digital audio recording on a portable audio playing device. Inyet another context, the user may select attempt to open a file on acomputer. Regardless of context, the MES may obtain a selection fromwithin the context in which it exists. For example, on a computersystem, an event handler passing the filename as a parameter within theoperating system's file manager shell may also pass the filenameparameter via an API to the MES, and the MES may pass back instructionto the computer for it to wait for a response before proceeding further.

The MES itself uses the user's selection of a given recording 205 todetermine if the user would like to hasten or extend the recording'sexpiration date. To do so, the MES may present the user with options tohasten, extend, maintain, and/or other actions that are normallypresented to the user in a particular context. In one embodiment, theMES may pass pointers to the context layer to which the MES isintegrated. For example, the MES may pass pointers through an API to afile manager shell or media player application to add buttons forhastening, extending, maintaining, and/or the like options 207. Upon auser engaging on such displayed options 207, the MES determines if theuser wishes to change expiration settings for the selected recording210. In one embodiment, the MES receives a call back by way of pointersupplied to the option presentation element 207 to engage thecorresponding facility within the MES. If no choice is designated or theuser chooses to maintain the current expiration time frame, the MES mayallow the user to select another recording 205 or otherwise returncontrol to the context layer.

If the user chose to hasten the expiration 210, the MES may presentoptions to change the desired expiration date. The user may enterexpiration dates earlier than a current expiration date up until thecurrent time, i.e., thereby requesting immediate expiration and disposalof the recording 245. Alternatively, if the user chose 207 to extend theexpiration date for the selected recording 210, then, similarly, the MESmay present options to change the desired expiration date 215. The datesmay be well beyond the current expiration date. In one embodiment, theuser may chose to make the file never expire.

The MES may then determine if the selected recording is in the medialist (as already described in FIG. 1) 220. If the selected recording isnot found in the media list 220, then the user may accept or rejecttheir own change of expiration date 235. If the selected recording ismatched to an entry on the media list 220, the MES may then obtain costsassociated with extending the expiration date 225. The costs may beobtained from an expiration table, policy rules, and/or the like from anMES database and/or the like. Costs may be based on units of time suchas a set fee per day. In one embodiment, every extended day specified215 by the user that extends past the recording's already specifiedexpiration date would incur an additional monetary fee-unit. The usermay then be prompted to authorize the costs of extending the viabilityof the recording 230. The user may then accept or reject the changes andcharges 235. If the user supplies a rejection 235, then the recordingscurrent expiration date is not changed 240. If the user accepts 235, acharge is made against the users account if a cost is incurred and therecordings expiration stamp is updated 250 with the newly specifiedexpiration date 215. The MES may then update the expiration queue asalready described in FIG. 1. The queue entry associated with therecording is found, removed, and a new entry is scheduled based on theexpiration setting 255.

In one embodiment, a server may vary expirations of media remotely on aMES. In such an embodiment, the local MES will affect the mediarecording at the command of the remote server. For example, the remoteserver may send a “kill now” instruction to an MES (or to a plurality ofMESs). Upon obtaining the “kill now” instruction, the MES will locallydisable the media from playing. One way in which the media recording maybe disabled is by deleting the recording. In an alternative embodiment,the remote server may change the expiration time by issuing a “setexpiration to time” command. In such an embodiment, the MES receives theinstruction and changes its local expiration scheduling queue toaccelerate or extend the expiration based on the time specified in the“set expiration” command that was received. In one embodiment, suchcommands are sent on the basis of account information stored in theserver's database. The commands may be sent through HTTP(S), SSL and/orother transfer protocol (e.g., through a post command); the commandsthemselves may be encoded as XML tokens.

Expiration

FIG. 3 is of a data-flow diagram illustrating embodiments to expirerecordings. In one embodiment, the MES checks the next entry in theaforementioned recording expiration queue 305. In one embodiment, thequeue is sorted based on expiration date and the first entry has anexpiration date closest to the current time as compared to other queueentries. The MES reads the queue entry 305 and determines if it is pastdue 310. If the queue entry's expiration time exceeds the current time,the expiration of the recording associated with the queue entry isdeemed past due 310 and the recording is disabled or deleted 325 asalready described in FIG. 1.

If the queue entry's expiration time does not exceed the current time,the expiration associated with the queue entry is not past due 310 andthe MES may determine if the number of recording views has been exceeded315. In one embodiment, every time a user plays and/or otherwiseexperiences the recording, the MES maintains a view counter in itsdatabase. The MES may limit the number of times a user is able to viewthe recording as specified in policy rules as already described in FIGS.1 and 2. The user may obtain rights for additional views similarly tothe way in which the user would extend the recording's expiration date225. If the number of views has been exceeded 315, the MES may disablethe recording as has already been mentioned 325. If the recording is notpast due 310 and the number of available views has not been exceeded bythe user 315, then the MES may check the expiration queue later at aspecified interval and/or on demand 330. Checking the queue forexpirations at specified intervals may occur through cron job requests.

In one embodiment, a storage/playback device may be pre-programmed withcertain limits (either at purchase or during subsequent updates) thatspecify the maximum usage time limits, and/or views for individualprograms or classes of programs. In such cases, upon requesting anextension of usage time and/or additional views, the user may beinformed using the GUI that his requested extension cannot be approved,obviating the generation of a message requesting the same back to theservice provider. For example, the metadata associated with a programmay specify both a nominal expiration date/time (in absence of attemptsat extension by the user) as well as a maximum-permitted extension time(or latest possible expiration date/time, as convenient in the detailedimplementation of a given system). Similarly, a maximum number of viewslimit may be set. The limits may be provided in the expiration table inthe MES database. In cases where the users request for extension cannotbe fully-honored, the user may be presented with the option to extendthe expiration date/time to the pre-defined limit, upon payment of theappropriate fee.

It should be noted that broadcast programming stored on the DVR may beobtained through various conduits. For example, the broadcasts may bereceived through traditional RF television broadcasts, as well asthrough cable television, satellite, TCP/IP and/or the like feeds.

Advertisement Expiration

FIGS. 4A-C are of a block diagram illustrating embodiments ofadvertising segments within a program vessel. In one embodiment, adswithin a program may expire and be replaced while leaving theprogramming vessel unaffected. The vessel spans the entirety of timeincluding the program segments and the advertising segments. In such asituation, the advertisements themselves are considered to be the mediathat is to expire, and the surrounding program is merely a vessel thatis to remain unaffected. This allows for the refreshing of stale ads,and/or ads whose impression counts have been exceeded. In such a case,those stale ads will be removed and replaced with new ads.

FIG. 4A illustrates that the program vessel 401 generally containsprogram segments A 405, B 415, C 425, which in turn are separated. Inone embodiment, the program segments in the vessel are separated byblank spacers 407. In another embodiment, the program segments areseparated by next-segment-flags (flags) 407 indicating a separatingsegment. In one embodiment, the flags are data structures that point tothe next segment to play. That next segment may be another programsegment, another ad segment, interactive payment prompts and/or thelike. In another embodiment, the data structures may simply indicate thetype of segment to be used, and the MES intercepts the request for a“next segment” and provides a segment through a scheduler orjust-in-time. In another embodiment, the MES may employ a Smart AdsClient to provide its interspersed ads when encountering the flags.

FIG. 4B illustrates another embodiment where advertising segments A 410and B 420 are interspersed throughout a program vessel (e.g., broadcastprogramming stored on a DVR). For example, a DVR may record a programalong with commercial advertisements. Each of program segments A, B andC occupy time spans A 405, C 415 and E 425, respectively, within theprogram vessel. Interspersed between the program segments, ad segments A410 and B 420 may span times B 440 and D 445, respectively, within theprogram vessel. As such, the program vessel itself spans the entirety oftime occupied by the program and ad segments, i.e., time span F 455.

In either case, ad segments A and B, upon expiration, may be replacedwith ad segments C and D. In such a scenario, the MES may physicallydestroy ad segments A and B and copy in ad segments C and D asreplacements; thereby reconstructing the file into a new vesselcontaining program segments A, B and C and ad segments C and D as shownin FIG. 4C. Further in FIG. 4B, the replacement ad segments do not haveto occupy the same time spans as did former ad segments A and B. Theprogram vessel may be broken up and rewritten with the new segments inplace. In an alternative embodiment, flags within the program vessel areuse to redirect display flow around embedded ad segments A 454, 456 andB 459, 461 to replacement ad segments C and D. In such an embodiment, asa device (e.g., DVR) plays the entirety of the program vessel andencounters an advertising flag, it will play ad segments C and D insteadof ad segments A and B, respectively; the device may do this withoutever altering the program vessel itself. In this way, the original adsegments A and B will remain intact within the program vessel, and thedevice will simply read in ad segments C and D from its storage space.After reaching the end of the replacement ad segments C 456 and D 461,the device may then continue to show program segments B and C,respectively. Thus, the system provides the replacement of ads withoutmodifying the program vessel itself. It should also be noted, that suchan embodiment has the advantage of allowing ad segments to be ofdiffering time spans from originally embedded ad segments without haveto re-write the entire program vessel.

Media Expiration System Controller

FIG. 5 is of a block diagram illustrating embodiments of a MediaExpiration System (MES) controller 501. In this embodiment, the MEScontroller 501 may serve to process, store, search, serve, identify,instruct, generate, match, and/or update recordings, expirations, and/orother related data.

Typically, users, which may be people and/or other systems, engageinformation technology systems (e.g., commonly computers) to facilitateinformation processing. In turn, computers employ processors to processinformation; such processors are often referred to as central processingunits (CPU). A common form of processor is referred to as amicroprocessor. A computer operating system, which, typically, issoftware executed by CPU on a computer, enables and facilitates users toaccess and operate computer information technology and resources. Commonresources employed in information technology systems include: input andoutput mechanisms through which data may pass into and out of acomputer; memory storage into which data may be saved; and processors bywhich information may be processed. Often information technology systemsare used to collect data for later retrieval, analysis, andmanipulation, commonly, which is facilitated through database software.Information technology systems provide interfaces that allow users toaccess and operate various system components.

In one embodiment, the MES controller 501 may be connected to and/orcommunicate with entities such as, but not limited to: one or more usersfrom user input devices 511; peripheral devices 512; a cryptographicprocessor device 528; and/or a communications network 513.

Networks are commonly thought to comprise the interconnection andinteroperation of clients, servers, and intermediary nodes in a graphtopology. It should be noted that the term “server” as used throughoutthis disclosure refers generally to a computer, other device, software,or combination thereof that processes and responds to the requests ofremote users across a communications network. Servers serve theirinformation to requesting “clients.” The term “client” as used hereinrefers generally to a computer, other device, software, or combinationthereof that is capable of processing and making requests and obtainingand processing any responses from servers across a communicationsnetwork. A computer, other device, software, or combination thereof thatfacilitates, processes information and requests, and/or furthers thepassage of information from a source user to a destination user iscommonly referred to as a “node.” Networks are generally thought tofacilitate the transfer of information from source points todestinations. A node specifically tasked with furthering the passage ofinformation from a source to a destination is commonly called a“router.” There are many forms of networks such as Local Area Networks(LANs), Pico networks, Wide Area Networks (WANs), Wireless Networks(WLANs), etc. For example, the Internet is generally accepted as beingan interconnection of a multitude of networks whereby remote clients andservers may access and interoperate with one another.

A MES controller 501 may be based on common computer systems that maycomprise, but are not limited to, components such as: a computersystemization 502 connected to memory 529.

Computer Systemization

A computer systemization 502 may comprise a clock 530, centralprocessing unit (CPU) 503, a read only memory (ROM) 506, a random accessmemory (RAM) 505, and/or an interface bus 507, and most frequently,although not necessarily, are all interconnected and/or communicatingthrough a system bus 504. Optionally, the computer systemization may beconnected to an internal power source 586. Optionally, a cryptographicprocessor 526 may be connected to the system bus. The system clocktypically has a crystal oscillator and provides a base signal. The clockis typically coupled to the system bus and various clock multipliersthat will increase or decrease the base operating frequency for othercomponents interconnected in the computer systemization. The clock andvarious components in a computer systemization drive signals embodyinginformation throughout the system. Such transmission and reception ofsignals embodying information throughout a computer systemization may becommonly referred to as communications. These communicative signals mayfurther be transmitted, received, and the cause of return and/or replysignal communications beyond the instant computer systemization to:communications networks, input devices, other computer systemizations,peripheral devices, and/or the like. Of course, any of the abovecomponents may be connected directly to one another, connected to theCPU, and/or organized in numerous variations employed as exemplified byvarious computer systems.

The CPU comprises at least one high-speed data processor adequate toexecute program modules for executing user and/or system-generatedrequests. The CPU may be a microprocessor such as AMD's Athlon, Duronand/or Opteron; IBM and/or Motorola's PowerPC; Intel's Celeron, Itanium,Pentium, Xeon, and/or XScale; and/or the like processor(s). The CPUinteracts with memory through signal passing through conductive conduitsto execute stored program code according to conventional data processingtechniques. Such signal passing facilitates communication within the MEScontroller and beyond through various interfaces. Should processingrequirements dictate a greater amount speed, parallel, mainframe and/orsuper-computer architectures may similarly be employed. Alternatively,should deployment requirements dictate greater portability, smallerPersonal Digital Assistants (PDAs) may be employed.

Power Source

The power source 586 may be of any standard form for powering smallelectronic circuit board devices such as the following power cells:alkaline, lithium hydride, lithium ion, nickel cadmium, solar cells,and/or the like. Other types of AC or DC power sources may be used aswell. In the case of solar cells, in one embodiment, the case providesan aperture through which the solar cell may capture photonic energy.The power cell 586 is connected to at least one of the interconnectedsubsequent components of the MES thereby providing an electric currentto all subsequent components. In one example, the power source 586 isconnected to the system bus component 504. In an alternative embodiment,an outside power source 586 is provided through a connection across theI/O 508 interface. For example, a USB and/or IEEE 1394 connectioncarries both data and power across the connection and is therefore asuitable source of power.

Interface Adapters

Interface bus(ses) 507 may accept, connect, and/or communicate to anumber of interface adapters, conventionally although not necessarily inthe form of adapter cards, such as but not limited to: input outputinterfaces (I/O) 508, storage interfaces 509, network interfaces 510,and/or the like. Optionally, cryptographic processor interfaces 527similarly may be connected to the interface bus. The interface busprovides for the communications of interface adapters with one anotheras well as with other components of the computer systemization.Interface adapters are adapted for a compatible interface bus. Interfaceadapters conventionally connect to the interface bus via a slotarchitecture. Conventional slot architectures may be employed, such as,but not limited to: Accelerated Graphics Port (AGP), Card Bus,(Extended) Industry Standard Architecture ((E)ISA), Micro ChannelArchitecture (MCA), NuBus, Peripheral Component Interconnect (Extended)(PCI(X)), PCI Express, Personal Computer Memory Card InternationalAssociation (PCMCIA), and/or the like.

Storage interfaces 509 may accept, communicate, and/or connect to anumber of storage devices such as, but not limited to: storage devices514, removable disc devices, and/or the like. Storage interfaces mayemploy connection protocols such as, but not limited to: (Ultra)(Serial) Advanced Technology Attachment (Packet Interface) ((Ultra)(Serial) ATA(PI)), (Enhanced) Integrated Drive Electronics ((E)IDE),Institute of Electrical and Electronics Engineers (IEEE) 1394, fiberchannel, Small Computer Systems Interface (SCSI), Universal Serial Bus(USB), and/or the like.

Network interfaces 510 may accept, communicate, and/or connect to acommunications network 513. Network interfaces may employ connectionprotocols such as, but not limited to: direct connect, Ethernet (thick,thin, twisted pair 10/100/1000 Base T, and/or the like), Token Ring,wireless connection such as IEEE 802.11a-x, and/or the like. Acommunications network may be any one and/or the combination of thefollowing: a direct interconnection; the Internet; a Local Area Network(LAN); a Metropolitan Area Network (MAN); an Operating Missions as Nodeson the Internet (OMNI); a secured custom connection; a Wide Area Network(WAN); a wireless network (e.g., employing protocols such as, but notlimited to a Wireless Application Protocol (WAP), I-mode, and/or thelike); and/or the like. A network interface may be regarded as aspecialized form of an input output interface. Further, multiple networkinterfaces 510 may be used to engage with various communications networktypes 513. For example, multiple network interfaces may be employed toallow for the communication over broadcast, multicast, and/or unicastnetworks.

Input Output interfaces (I/O) 508 may accept, communicate, and/orconnect to user input devices 511, peripheral devices 512, cryptographicprocessor devices 528, and/or the like. I/O may employ connectionprotocols such as, but not limited to the following protocol: APPLEDESKTOP BUS (ADB); APPLE DESKTOP CONNECTOR (ADC); audio: analog,digital, monaural, RCA, stereo, and/or the like; IEEE 1394a/b; infrared;joystick; keyboard; midi; optical; PC AT; PS/2; parallel; radio; serial;USB; video interface: BNC, coaxial, composite, digital, DIGITAL VISUALINTERFACE (DVI), RCA, RF antennae, S-Video, VGA, and/or the like;wireless; and/or the like. A common output device is a television set145, which accepts signals from a video interface. Also, a videodisplay, which typically comprises a Cathode Ray Tube (CRT) or LiquidCrystal Display (LCD) based monitor with an interface (e.g., DVIcircuitry and cable) that accepts signals from a video interface, may beused. The video interface composites information generated by a computersystemization and generates video signals based on the compositedinformation in a video memory frame. Typically, the video interfaceprovides the composited video information through a video connectioninterface that accepts a video display interface (e.g., an RCA compositevideo connector accepting an RCA composite video cable; a DVI connectoraccepting a DVI display cable, etc.).

User input devices 511 may be card readers, dongles, finger printreaders, gloves, graphics tablets, joysticks, keyboards, mouse (mice),remote controls, retina readers, trackballs, trackpads, and/or the like.

Peripheral devices 512 may be connected and/or communicate to I/O and/orother facilities of the like such as network interfaces, storageinterfaces, and/or the like. Peripheral devices may be audio devices,cameras, dongles (e.g., for copy protection, ensuring securetransactions with a digital signature, and/or the like), externalprocessors (for added functionality), goggles, microphones, monitors,network interfaces, printers, scanners, storage devices, video devices,video sources, visors, and/or the like.

It should be noted that although user input devices and peripheraldevices may be employed, the MES controller may be embodied as anembedded, dedicated, and/or monitor-less (i.e., headless) device,wherein access would be provided over a network interface connection.

Cryptographic units such as, but not limited to, microcontrollers,processors 526, interfaces 527, and/or devices 528 may be attached,and/or communicate with the MES controller. A MC68HC16 microcontroller,commonly manufactured by Motorola Inc., may be used for and/or withincryptographic units. Equivalent microcontrollers and/or processors mayalso be used. The MC68HC16 microcontroller utilizes a 16-bitmultiply-and-accumulate instruction in the 16 MHz configuration andrequires less than one second to perform a 512-bit RSA private keyoperation. Cryptographic units support the authentication ofcommunications from interacting agents, as well as allowing foranonymous transactions. Cryptographic units may also be configured aspart of CPU. Other commercially available specialized cryptographicprocessors include VLSI Technology's 33 MHz 6868 or SemaphoreCommunications' 40 MHz Roadrunner 184.

Memory

Generally, any mechanization and/or embodiment allowing a processor toaffect the storage and/or retrieval of information is regarded as memory529. However, memory is a fungible technology and resource, thus, anynumber of memory embodiments may be employed in lieu of or in concertwith one another. It is to be understood that a MES controller and/or acomputer systemization may employ various forms of memory 529. Forexample, a computer systemization may be configured wherein thefunctionality of on-chip CPU memory (e.g., registers), RAM, ROM, and anyother storage devices are provided by a paper punch tape or paper punchcard mechanism; of course such an embodiment would result in anextremely slow rate of operation. In a typical configuration, memory 529will include ROM 506, RAM 505, and a storage device 514. A storagedevice 514 may be any conventional computer system storage. Storagedevices may include a drum; a (fixed and/or removable) magnetic diskdrive; a magneto-optical drive; an optical drive (i.e., CDROM/RAM/Recordable (R), ReWritable (RW), DVD R/RW, etc.); and/or otherdevices of the like. Thus, a computer systemization generally requiresand makes use of memory.

Module Collection

The memory 529 may contain a collection of program and/or databasemodules and/or data such as, but not limited to: operating systemmodule(s) 515 (operating system); information server module(s) 516(information server); user interface module(s) 517 (user interface); Webbrowser module(s) 518 (Web browser); database(s) 519; cryptographicserver module(s) 520 (cryptographic server); MES module(s) 535; and/orthe like (i.e., collectively a module collection). These modules may bestored and accessed from the storage devices and/or from storage devicesaccessible through an interface bus. Although non-conventional softwaremodules such as those in the module collection, typically, are stored ina local storage device 514, they may also be loaded and/or stored inmemory such as: peripheral devices, RAM, remote storage facilitiesthrough a communications network, ROM, various forms of memory, and/orthe like.

Operating System

The operating system module 515 is executable program code facilitatingthe operation of a MES controller. Typically, the operating systemfacilitates access of I/O, network interfaces, peripheral devices,storage devices, and/or the like. The operating system may be a highlyfault tolerant, scalable, and secure system such as the APPLE MACINTOSHOS X (SERVER), AT&T PLAN 9, BE OS, LINUX, UNIX, and/or the likeoperating systems. However, more limited and/or less secure operatingsystems also may be employed such as the APPLE MACINTOSH OS, MICROSOFTDOS, PALM OS, WINDOWS 2000/2003/3.1/95/98/CE/MILLENIUM/NT/XP (SERVER)systems and/or the like. An operating system may communicate to and/orwith other modules in a module collection, including itself, and/or thelike. Most frequently, the operating system communicates with otherprogram modules, user interfaces, and/or the like. For example, theoperating system may contain, communicate, generate, obtain, and/orprovide program module, system, user, and/or data communications,requests, and/or responses. The operating system, once executed by theCPU, may enable the interaction with communications networks, data, I/O,peripheral devices, program modules, memory, user input devices, and/orthe like. The operating system may provide communications protocols thatallow the MES controller to communicate with other entities through acommunications network 513. Various communication protocols may be usedby the MES controller as a subcarrier transport mechanism forinteraction, such as, but not limited to: multicast, TCP/IP, UDP,unicast, and/or the like.

Information Server

An information server module 516 is stored program code that is executedby the CPU. The information server may be a conventional Internetinformation server such as, but not limited to Apache SoftwareFoundation's APACHE server, Microsoft's Internet Information Server,and/or the like. The information server may allow for the execution ofprogram modules through facilities such as ACTIVE SERVER PAGE (ASP),ACTIVEX, (ANSI) (OBJECTIVE−) C (++), C#, COMMON GATEWAY INTERFACE (CGI)SCRIPTS, JAVA, JAVASCRIPT, PRACTICAL EXTRACTION REPORT LANGUAGE (PERL),PYTHON, WEBOBJECTS, and/or like facilities. The information server maysupport secure communications protocols such as, but not limited to,File Transfer Protocol (FTP); HyperText Transfer Protocol (HTTP); SecureHypertext Transfer Protocol (HTTPS), Secure Socket Layer (SSL), and/orthe like. The information server provides results in the form of Webpages to Web browsers, and allows for the manipulated generation of theWeb pages through interaction with other program modules. After a DomainName System (DNS) resolution portion of an HTTP request is resolved to aparticular information server, the information server resolves requestsfor information at specified locations on a MES controller based on theremainder of the HTTP request. For example, a request such ashttp://123.124.125.126/myInformation.html might have the IP portion ofthe request “123.124.125.126” resolved by a DNS server to an informationserver at that IP address; that information server might in turn furtherparse the http request for the “/myInformation.html” portion of therequest and resolve it to a location in memory containing theinformation “myInformation.html.” Additionally, other informationserving protocols may be employed across various ports, e.g., FTPcommunications across port 21, and/or the like. An information servermay communicate to and/or with other modules in a module collection,including itself, and/or facilities of the like. Most frequently, theinformation server communicates with the MES database 519, operatingsystems, other program modules, user interfaces, Web browsers, and/orthe like.

Access to the MES database may be achieved through a number of databasebridge mechanisms such as through scripting languages as enumeratedbelow (e.g., CGI) and through inter-application communication channelsas enumerated below (e.g., CORBA, WEBOBJECT channels, etc.). Any datarequests through a Web browser are parsed through the bridge mechanisminto appropriate grammars as required by the MES. In one embodiment, theinformation server would provide a Web form accessible by a Web browser.Entries made into supplied fields in the Web form are tagged as havingbeen entered into the particular fields, and parsed as such. The enteredterms are then passed along with the field tags, which act to instructthe parser to generate queries directed to appropriate tables and/orfields. In one embodiment, the parser may generate queries in standardSQL by instantiating a search string with the proper join/selectcommands based on the tagged text entries, wherein the resulting commandis provided over the bridge mechanism to the MES as a query. Upongenerating query results from the query, the results are passed over thebridge mechanism, and may be parsed for formatting and generation of anew results Web page by the bridge mechanism. Such a new results Webpage is then provided to the information server, which may supply it tothe requesting Web browser.

Also, an information server may contain, communicate, generate, obtain,and/or provide program module, system, user, and/or data communications,requests, and/or responses.

User Interface

The function of computer interfaces in some respects is similar toautomobile operation interfaces. Automobile operation interface elementssuch as steering wheels, gearshifts, and speedometers facilitate theaccess, operation, and display of automobile resources, functionality,and status. Computer interaction interface elements such as check boxes,cursors, menus, scrollers, and windows (collectively and commonlyreferred to as widgets) similarly facilitate the access, operation, anddisplay of data and computer hardware and operating system resources,functionality, and status. Operation interfaces are commonly called userinterfaces. Graphical user interfaces (GUIs) such as the Apple MacintoshOperating System's AQUA interface, Microsoft's WINDOWS XP interface, orUnix's X-WINDOWS interface provide a baseline and means of accessing anddisplaying information graphically to users.

A user interface module 517 is stored program code that is executed bythe CPU. The user interface may be a conventional graphic user interfaceas provided by, with, and/or atop operating systems and/or operatingenvironments such as Apple Macintosh OS, e.g., AQUA interface,Microsoft's WINDOWS (NT/XP) interface, Unix X's WINDOWS (KDE, GNOME,and/or the like interface), MYTH-TV, and/or like interfaces. The userinterface may allow for the display, execution, interaction,manipulation, and/or operation of program modules and/or systemfacilities through textual and/or graphical facilities. The userinterface provides a facility through which users may affect, interact,and/or operate a computer system. A user interface may communicate toand/or with other modules in a module collection, including itself,and/or facilities of the like. Most frequently, the user interfacecommunicates with operating systems, other program modules, and/or thelike. The user interface may contain, communicate, generate, obtain,and/or provide program module, system, user, and/or data communications,requests, and/or responses.

Web Browser

A Web browser module 518 is stored program code that is executed by theCPU. The Web browser may be a conventional hypertext viewing applicationsuch as Microsoft's INTERNET EXPLORER or Netscape's NAVIGATOR. SecureWeb browsing may be supplied with 128 bit (or greater) encryption by wayof HTTPS, SSL, and/or the like. Some Web browsers allow for theexecution of program modules through facilities such as JAVA,JAVASCRIPT, ACTIVEX, and/or like facilities. Web browsers and likeinformation access tools may be integrated into PDAs, cellulartelephones, and/or other mobile devices. A Web browser may communicateto and/or with other modules in a module collection, including itself,and/or facilities of the like. Most frequently, the Web browsercommunicates with information servers, operating systems, integratedprogram modules (e.g., plug-ins), and/or the like; e.g., it may contain,communicate, generate, obtain, and/or provide program module, system,user, and/or data communications, requests, and/or responses. Of course,in place of a Web browser and information server, a combined applicationmay be developed to perform similar functions of both. The combinedapplication would similarly affect the obtaining and the provision ofinformation to users, user agents, and/or the like from MES enablednodes. The combined application may be nugatory on systems employingstandard Web browsers.

Cryptographic Server

A cryptographic server module 520 is stored program code that isexecuted by the CPU 503, cryptographic processor 526, cryptographicprocessor interface 527, cryptographic processor device 528, and/or thelike. Cryptographic processor interfaces will allow for expedition ofencryption and/or decryption requests by the cryptographic module;however, the cryptographic module, alternatively, may run on aconventional CPU. The cryptographic module allows for the encryptionand/or decryption of provided data. The cryptographic module allows forboth symmetric and asymmetric (e.g., Pretty Good Protection (PGP))encryption and/or decryption. The cryptographic module may employcryptographic techniques such as, but not limited to: digitalcertificates (e.g., X.509 authentication framework), digital signatures,dual signatures, enveloping, password access protection, public keymanagement, and/or the like. The cryptographic module will facilitatenumerous (encryption and/or decryption) security protocols such as, butnot limited to: checksum, Data Encryption Standard (DES), EllipticalCurve Encryption (ECC), International Data Encryption Algorithm (IDEA),Message Digest 5 (MD5, which is a one way hash function), passwords,Rivest Cipher (RC5), Rijndael, RSA (which is an Internet encryption andauthentication system that uses an algorithm developed in 1977 by RonRivest, Adi Shamir, and Leonard Adleman), Secure Hash Algorithm (SHA),Secure Socket Layer (SSL), Secure Hypertext Transfer Protocol (HTTPS),and/or the like. Employing such encryption security protocols, the MESmay encrypt all incoming and/or outgoing communications and may serve asnode within a virtual private network (VPN) with a wider communicationsnetwork. The cryptographic module facilitates the process of “securityauthorization” whereby access to a resource is inhibited by a securityprotocol wherein the cryptographic module effects authorized access tothe secured resource. In addition, the cryptographic module may provideunique identifiers of content, e.g., employing and MD5 hash to obtain aunique signature for an digital audio file. A cryptographic module maycommunicate to and/or with other modules in a module collection,including itself, and/or facilities of the like. The cryptographicmodule supports encryption schemes allowing for the secure transmissionof information across a communications network to enable a MES module toengage in secure transactions if so desired. The cryptographic modulefacilitates the secure accessing of resources on MES and facilitates theaccess of secured resources on remote systems; i.e., it may act as aclient and/or server of secured resources. Most frequently, thecryptographic module communicates with information servers, operatingsystems, other program modules, and/or the like. The cryptographicmodule may contain, communicate, generate, obtain, and/or provideprogram module, system, user, and/or data communications, requests,and/or responses.

MES Database

A MES database module 519 may be embodied in a database and its storeddata. The database is stored program code, which is executed by the CPU;the stored program code portion configuring the CPU to process thestored data. The database may be a conventional, fault tolerant,relational, scalable, secure database such as Oracle or Sybase.Relational databases are an extension of a flat file. Relationaldatabases consist of a series of related tables. The tables areinterconnected via a key field. Use of the key field allows thecombination of the tables by indexing against the key field; i.e., thekey fields act as dimensional pivot points for combining informationfrom various tables. Relationships generally identify links maintainedbetween tables by matching primary keys. Primary keys represent fieldsthat uniquely identify the rows of a table in a relational database.More precisely, they uniquely identify rows of a table on the “one” sideof a one-to-many relationship.

Alternatively, the MES database may be implemented using variousstandard data-structures, such as an array, hash, (linked) list, struct,structured text file (e.g., XML), table, and/or the like. Suchdata-structures may be stored in memory and/or in (structured) files. Inanother alternative, an object-oriented database may be used, such asFrontier, ObjectStore, Poet, Zope, and/or the like. Object databases caninclude a number of object collections that are grouped and/or linkedtogether by common attributes; they may be related to other objectcollections by some common attributes. Object-oriented databases performsimilarly to relational databases with the exception that objects arenot just pieces of data but may have other types of functionalityencapsulated within a given object. If the MES database is implementedas a data-structure, the use of the MES database 519 may be integratedinto another module such as the MES module 535. Also, the database maybe implemented as a mix of data structures, objects, and relationalstructures. Databases may be consolidated and/or distributed incountless variations through standard data processing techniques.Portions of databases, e.g., tables, may be exported and/or imported andthus decentralized and/or integrated.

In one embodiment, the database module 519 includes several tables 519a-d, h-j. A users table 519 a includes fields such as, but not limitedto: an user name, address, user_id, credit card information, and/or thelike. The user table may support and/or track multiple users on a MES.An accounts table 519 b includes fields such as, but not limited to:account_id, admin_user_id (a user given administrative status to controlthe account), account_level, and/or the like. A recording_metadata table519 c includes fields such as, but not limited to: recording_title,recording_description, recording_id, closed_captioned_text,recording_data, recording_schedule_id, and/or the like. Arecording_schedule table 519 d includes fields such as, but not limitedto: recording_id, air_time, duration, and/or the like. A views table 519h includes fields such as, but not limited to: view_id, recording_id,view_counter, user_id, view_start, view_duration, and/or the like. Anexpirations table 519 i includes fields such as, but not limited to:expirations_id, recording_id, view_id, impression_opportunity_count,expiration_date, expiration_condition (e.g., a conditional to setexpirations), and/or the like. A purchases table 519 j includes fieldssuch as, but not limited to: recording_id, view_id, expirations_id,account_id, users_id, debit_value, and/or the like.

In one embodiment, the MES database may interact with other databasesystems. For example, employing a distributed database system, queriesand data access by MES modules may treat the combination of the MESdatabase, an integrated data security layer database as a singledatabase entity.

In one embodiment, user programs may contain various user interfaceprimitives, which may serve to update the MES. Also, various accountsmay require custom database tables depending upon the environments andthe types of clients a MES may need to serve. It should be noted thatany unique fields may be designated as a key field throughout. In analternative embodiment, these tables have been decentralized into theirown databases and their respective database controllers (i.e.,individual database controllers for each of the above tables). Employingstandard data processing techniques, one may further distribute thedatabases over several computer systemizations and/or storage devices.Similarly, configurations of the decentralized database controllers maybe varied by consolidating and/or distributing the various databasemodules 519 a-j. The MES may be configured to keep track of varioussettings, inputs, and parameters via database controllers.

A MES database may communicate to and/or with other modules in a modulecollection, including itself, and/or facilities of the like. Mostfrequently, the MES database communicates with a MES module, otherprogram modules, and/or the like. The database may contain, retain, andprovide information regarding other nodes and data.

MES

A MES module 535 is stored program code that is executed by the CPU. TheMES affects accessing, obtaining and the provision of information,services, transactions, and/or the like across various communicationsnetworks.

The MES enables media owners to disable recordings of their programcontent after it has been recorded by a consumer. The MES may work inconcert with a SmartAd Client and/or an Integrated Data Security Layerthereby providing greater control over media content. The MES tracksviewing habits, enables the purchasing of extended views of programs,removes expired media programming content, and more. The MES coordinateswith the MES database to identify interassociated items relating toprograms, ads, and/or any related transactions and acts upon anyprovided information.

A MES module enabling access of information between nodes may bedeveloped by employing standard development tools such as, but notlimited to: (ANSI) (Objective−) C (++), Apache modules, binaryexecutables, database adapters, Java, JavaScript, mapping tools,procedural and object oriented development tools, PERL, Python, shellscripts, SQL commands, web application server extensions, WebObjects,and/or the like. In one embodiment, the MES server employs acryptographic server to encrypt and decrypt communications. A MES modulemay communicate to and/or with other modules in a module collection,including itself, and/or facilities of the like. Most frequently, theMES module communicates with a MES database, operating systems, otherprogram modules, and/or the like. The MES may contain, communicate,generate, obtain, and/or provide program module, system, user, and/ordata communications, requests, and/or responses.

Distributed MES

The structure and/or operation of any of the MES node controllercomponents may be combined, consolidated, and/or distributed in anynumber of ways to facilitate development and/or deployment. Similarly,the module collection may be combined in any number of ways tofacilitate deployment and/or development. To accomplish this, one mayintegrate the components into a common code base or in a facility thatcan dynamically load the components on demand in an integrated fashion.

The module collection may be consolidated and/or distributed incountless variations through standard data processing and/or developmenttechniques. Multiple instances of any one of the program modules in theprogram module collection may be instantiated on a single node, and/oracross numerous nodes to improve performance through load-balancingand/or data-processing techniques. Furthermore, single instances mayalso be distributed across multiple controllers and/or storage devices;e.g., databases. All program module instances and controllers working inconcert may do so through standard data processing communicationtechniques.

The configuration of the MES controller will depend on the context ofsystem deployment. Factors such as, but not limited to, the budget,capacity, location, and/or use of the underlying hardware resources mayaffect deployment requirements and configuration. Regardless of if theconfiguration results in more consolidated and/or integrated programmodules, results in a more distributed series of program modules, and/orresults in some combination between a consolidated and distributedconfiguration, data may be communicated, obtained, and/or provided.Instances of modules consolidated into a common code base from theprogram module collection may communicate, obtain, and/or provide data.This may be accomplished through intra-application data processingcommunication techniques such as, but not limited to: data referencing(e.g., pointers), internal messaging, object instance variablecommunication, shared memory space, variable passing, and/or the like.

If module collection components are discrete, separate, and/or externalto one another, then communicating, obtaining, and/or providing datawith and/or to other module components may be accomplished throughinter-application data processing communication techniques such as, butnot limited to: Application Program Interfaces (API) informationpassage; (distributed) Component Object Model ((D)COM), (Distributed)Object Linking and Embedding ((D)OLE), and/or the like), Common ObjectRequest Broker Architecture (CORBA), process pipes, shared files, and/orthe like. Messages sent between discrete module components forinter-application communication or within memory spaces of a singularmodule for intra-application communication may be facilitated throughthe creation and parsing of a grammar. A grammar may be developed byusing standard development tools such as lex, yacc, XML, and/or thelike, which allow for grammar generation and parsing functionality,which in turn may form the basis of communication messages within andbetween modules. Again, the configuration will depend upon the contextof system deployment.

The entirety of this disclosure (including the Cover Page, Title,Headings, Field, Background, Summary, Brief Description of the Drawings,Detailed Description, Claims, Abstract, Figures, and otherwise) shows byway of illustration various embodiments in which the claimed inventionsmay be practiced. The advantages and features of the disclosure are of arepresentative sample of embodiments only, and are not exhaustive and/orexclusive. They are presented only to assist in understanding and teachthe claimed principles. It should be understood that they are notrepresentative of all claimed inventions. As such, certain aspects ofthe disclosure have not been discussed herein. That alternateembodiments may not have been presented for a specific portion of theinvention or that further undescribed alternate embodiments may beavailable for a portion is not to be considered a disclaimer of thosealternate embodiments. It will be appreciated that many of thoseundescribed embodiments incorporate the same principles of the inventionand others are equivalent. Thus, it is to be understood that otherembodiments may be utilized and functional, logical, organizational,structural and/or topological modifications may be made withoutdeparting from the scope and/or spirit of the disclosure. As such, allexamples and/or embodiments are deemed to be non-limiting throughoutthis disclosure. Also, no inference should be drawn regarding thoseembodiments discussed herein relative to those not discussed hereinother than it is as such for purposes of reducing space and repetition.For instance, it is to be understood that the logical and/or topologicalstructure of any combination of any program modules (a modulecollection), other components and/or any present feature sets asdescribed in the figures and/or throughout are not limited to a fixedoperating order and/or arrangement, but rather, any disclosed order isexemplary and all equivalents, regardless of order, are contemplated bythe disclosure. Furthermore, it is to be understood that such featuresare not limited to serial execution, but rather, any number of threads,processes, services, servers, and/or the like that may executeasynchronously, concurrently, in parallel, simultaneously,synchronously, and/or the like are contemplated by the disclosure. Assuch, some of these features may be mutually contradictory, in that theycannot be simultaneously present in a single embodiment. Similarly, somefeatures are applicable to one aspect of the invention, and inapplicableto others. In addition, the disclosure includes other inventions notpresently claimed. Applicant reserves all rights in those presentlyunclaimed inventions including the right to claim such inventions, fileadditional applications, continuations, continuations in part,divisions, and/or the like thereof. As such, it should be understoodthat advantages, embodiments, examples, functional, features, logical,organizational, structural, topological, and/or other aspects of thedisclosure are not to be considered limitations on the disclosure asdefined by the claims or limitations on equivalents to the claims.

1. A processor enabled method to control playing media recordings in amedia player, comprising: receiving a media recording; determining ifsaid media recording has a termination time; playing said mediarecording only if a current time has not reached the media recording'stermination time; and terminating the media recording, if a number ofimpressions experienced by a user has been exceeded.
 2. The method ofclaim 1, wherein the termination time is obtained from associatedmetadata.
 3. The method of claim 1, wherein the termination time isestablished by content owner policy rules.
 4. The method of claim 1,wherein broadcast recording is scheduled for termination after atermination time.
 5. The method of claim 1, wherein termination includesthe disabling of the media recording from further access by users. 6.The method of claim 1, wherein termination includes the destruction ofthe media recording so it is inaccessible by users.
 7. The method ofclaim 1, wherein a current time has reached the media recording'stermination time.
 8. A processor enabled method to control playing amedia recording in a media player, comprising: receiving a mediarecording; determining if said media recording has a termination time;and playing said media recording only if a current time has not reachedthe media recording's termination time; wherein the termination time isobtained from a tag within the media recording.
 9. A processor enabledmethod to control playing media recordings in a media player,comprising: receiving a media recording; determining if said mediarecording has a termination time; and playing said media recording onlyif a current time has not reached the media recording's terminationtime; wherein the termination time is established by a user.
 10. Aprocessor enabled method to control playing media recordings in a mediaplayer, comprising: receiving a media recording; determining if saidmedia recording has a termination time; and playing said media recordingonly if a current time has not reached the media recording's terminationtime; wherein the termination time is extended upon payment of extensionfees.